package com.tbvtc.agriculturalcreditchainserver2025.vo.chatMessage;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

@Data
public class GetAllChatValueVo implements Serializable {
    private static final long serialVersionUID = 1L;

    @Schema(description = "id")
    private Long id;

    @Schema(description = "发送者id")
    private String senderId;

    @Schema(description = "发送者头像")
    private String senderImage;

    @Schema(description = "接收者类型")
    @TableField("receiver_type")
    private Integer receiverType;

    @Schema(description = "接收者id")
    @TableField("receiver_id")
    private String receiverId;

    @Schema(description = "接收者头像")
    private String receiverImage;

    @Schema(description = "消息类型")
    @TableField("message_type")
    private String messageType;

    @Schema(description = "消息内容")
    @TableField("content")
    private String content;

    @Schema(description = "文件路径")
    @TableField("file_path")
    private String filePath;

    @Schema(description = "语音长度")
    @TableField("voice_length")
    private Integer voiceLength;

    @TableField("send_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime sendTime;

    @Schema(description = "删除状态")
    @TableField("delete_status")
    private Integer deleteStatus;
    @Schema(description = "扩展字段")
    @TableField("ext_json")
    private String extJson;
    private Integer readStatus;
}
